package com.situ.fly.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.situ.fly.dao.UserDao;
import com.situ.fly.entity.User;
import com.situ.fly.util.MD5Util;

/**
 * 
 * UserService接口的实现类
 * @author 周轩霆
 *
 */
@Service
public class UserServiceImpl implements UserService{
     @Autowired//Spring 属性的自动注入
           //找到一个类型匹配的对象
	private UserDao userDao;
	@Override
	public int reg(User user, String repassword) {
		// TODO Auto-generated method stub
		//1、验证两次密码是否一样
		if(!repassword.equals(user.getPassword())) {
			
			return -1;
			
		}
		//2、验证账号是否可用
		if(userDao.selectByUsername(user.getUsername())!=null) {
			
			return -2;
			
		}
		//3、验证昵称是否可用
        if(userDao.selectByNickname(user.getNickname())!=null) {
			
			return -3;
			
		}
		//4、密码MD5加密
		
        
        user.setPassword(MD5Util.getMD5(user.getPassword()));
        
      //5、将注册信息保存到数据库
		return userDao.insert(user);
	}
	@Override
	public User login(User user) throws Exception {
		// 1、验证账号
		User selectUser=userDao.selectByUsername(user.getUsername());
		if (selectUser==null) {
			//账号不存在
			//登录失败
			//结束方法的执行：return,   异常
			throw new Exception("账号不存在，请重新登录！！！");
		}
		//密码是否正确
		if (!selectUser.getPassword().equals(MD5Util.getMD5
				(user.getPassword()))) {
			//密码不正确
			throw new Exception("密码不正确，请重新登录！！！");
		}
		//账号可能会被封
		if (selectUser.getStatus()==1) {
			throw new Exception("账号已被禁用，请联系管理员！！！");
		}
		return selectUser;
	}
  
}
